#include <stdio.h>

void LargestTow(int a[], int n, int *max1, int *max2) {
    if (n < 2) {
        printf("数组长度必须至少为2\n");
        return;
    }

    // 初始化最大值和次大值
    if (a[0] > a[1]) {
        *max1 = a[0];
        *max2 = a[1];
    } else {
        *max1 = a[1];
        *max2 = a[0];
    }

    // 从第三个元素开始遍历
    for (int i = 2; i < n; i++) {
        if (a[i] > *max1) {
            *max2 = *max1;
            *max1 = a[i];
        } else if (a[i] > *max2 ) {
            *max2 = a[i];
        }
    }
}

int main() {
    int n;
    printf("请输入数组的长度: ");
    scanf("%d", &n);

    if (n < 2) {
        printf("数组长度必须至少为2\n");
        return 1;
    }

    int a[n];
    printf("请输入%d个整数: ", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    int max1, max2;
    LargestTow(a, n, &max1, &max2);

    printf("最大的两个值是: %d 和 %d\n", max1, max2);

    return 0;
}